package test;

import java.util.Scanner;

/**
 * @author oldliu
 * @since 1.0
 */
public class SuanMoney {
    public static void main(String[] args) {
        //现在纸币面额有 1元，2元，5元，10元，20元，50元和100元，
        // 输入一个正整数的金额，输出所有的组成可能，
        // 比如输入 3元，则有  3个1元 和  一个2元加1元两种可能
        Scanner in =new Scanner(System.in);
        System.out.println("请输入钱数：");
        int total = in.nextInt();

        for(int m100=0;m100<=total/100;m100++){//100元的张数
            for(int m50=0;m50<=total/50;m50++) {//50元的张数
                for(int m20=0;m20<=total/20;m20++) {// 20元的张数
                    for(int m10=0;m10<=total/10;m10++) {//10元的张数
                        for(int m5=0;m5<=total/5;m5++) {//5元的张数
                            for(int m2=0;m2<=total/2;m2++) {//2元的张数
                                int m1=total-m100*100-m50*50-m20*20-m10*10-m5*5-m2*2;
                                if(m1<0)
                                    continue;
                                System.out.print("需要");
                                System.out.print(m100+"张百元  ");
                                System.out.print(m50+"张50元  ");
                                System.out.print(m20+"张二十元  ");
                                System.out.print(m10+"张十元  ");
                                System.out.print(m5+"张5元  ");
                                System.out.print(m2+"张2元  ");
                                System.out.print(m1+"张1元  ");
                                System.out.println();
                            }
                        }
                    }
                }
            }
        }
    }
}
